package cn.yx.common.core.mapping;

import java.util.List;

/**
 * <p>mapstruct基础映射接口，已弃用，使用DtoDoMapping和DtoVoMapping替代</p>
 *
 * @param <Do>  DO类
 * @param <Dto> DTO类
 * @param <Vo>  VO类
 * @author Wgssmart
 */
@Deprecated
public interface BaseMapping<Do, Dto, Vo> {

    /**
     * DTO转DO
     *
     * @param dto
     * @return
     */
    Do dtoToDo(Dto dto);

    /**
     * DTO集合转DO集合
     *
     * @param dtoList
     * @return
     */
    List<Do> dtoToDo(List<Dto> dtoList);

    /**
     * DO转DTO
     *
     * @param theDo
     * @return
     */
    Dto doToDto(Do theDo);

    /**
     * DO集合转DTO集合
     *
     * @param doList
     * @return
     */
    List<Dto> doToDto(List<Do> doList);

    /**
     * DTO转VO
     *
     * @param dto
     * @return
     */
    Vo dtoToVo(Dto dto);

    /**
     * DTO集合转VO集合
     *
     * @param dtoList
     * @return
     */
    List<Vo> dtoToVo(List<Dto> dtoList);

    /**
     * VO转DTO
     *
     * @param vo
     * @return
     */
    Dto voToDto(Vo vo);

    /**
     * VO集合转DTO集合
     *
     * @param voList
     * @return
     */
    List<Dto> voToDto(List<Vo> voList);

}
